﻿#pragma once
#include<stdio.h>
#include<assert.h>
#include<string.h>
#include<stdlib.h>
typedef int DLTDataType;
typedef struct DListNode
{
	DLTDataType data; //节点数据
	struct DListNode* prev;
	struct DListNode* next; //指针保存下⼀个节点的地址
}DLTNode;
//打印双链表
void DLTPrintf(DLTNode* phead);
//初始化
void DLTInit(DLTNode** pphead);
//尾插
void DLTPushBack(DLTNode* phead, DLTDataType x);
//头插
void DLTPushFront(DLTNode* phead, DLTDataType x);
//bool LTEmpty(DLNode* phead);
//尾删
void DLTPopBack(DLTNode* phead);
//头删
void DLTPopFront(DLTNode* phead);
//在pos位置之后插⼊数据
void DLTInsert(DLTNode* pos, DLTDataType x);
//删除pos的数据
void DLTErase(DLTNode* pos);
//查找特定数据
DLTNode* DLTFind(DLTNode* phead, DLTDataType x);